package d1_static;

public class User {
    /**
     * 记录在线人数
     * static 修饰的成员变量，在内存中只有一份，可以共享
     */
    public static int onlineNumbers = 161;
    /*
    实例成员变量：无static修饰，属于每个对象的，必须用对象名
     */
    private String name;
    private int age;

    public static void main(String[] args) {
        //目标：理解static修饰成员变量和访问特点。
        //1.类名.成员变量
        System.out.println(User.onlineNumbers);

        User user = new User();
        //2.对象名.实力成员变量
        // System.out.println( User.name);//报错
        user.name = "张三";
        user.age = 19;
        System.out.println(user.age);
        System.out.println(user.name);
        user.onlineNumbers++; //代表新来了了一个人
        System.out.println(user.onlineNumbers);

        User user2 = new User();
        user2.name = "里斯";
        user2.age = 20;
        System.out.println(user2.name);
        System.out.println(user2.age);
        user2.onlineNumbers++; //代表新来了了一个人
        System.out.println(user2.onlineNumbers);

        System.out.println(User.onlineNumbers);//推荐方式
        //注意：同一个类中静态成员变量的访问可以省略类名。
        System.out.println(onlineNumbers);//推荐方式
    }

}
